Cloud Computing

What is Cloud Computing?

Cloud computing refers to the delivery of computing services—including servers, storage, databases, networking, software, and more—over the internet ("the cloud") to offer faster innovation, flexible resources, and economies of scale. Details of Cloud infrastructures and technologies can be found in: What is Cloud Infrastructure? | eG Innovations.

Cloud computing technologies reduce or even eliminate the need for organizations to maintain their own physical infrastructure, allowing them to access computing resources on-demand and on a pay only for what they use basis.

Cloud computing providers typically offer a range of services, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), tailored to meet the diverse needs of businesses and individuals.


A brief history of Cloud Computing

The history of Cloud computing traces back to the 1960s when the concept of time-sharing emerged, allowing multiple users to access a single computer simultaneously. IBM dominated the market in centralized mainframe computers.

In the 1990s, the term "Cloud computing" began to gain prominence with the rise of internet-based services. Salesforce leveraged the idea of delivering enterprise applications via a simple website, pioneering the software-as-a-service (SaaS) model.

Later, Amazon Web Services (AWS) launched in 2006, marking the advent of infrastructure-as-a-service (IaaS) and providing on-demand access to computing resources over the internet. Subsequently, other major tech companies like Microsoft with Azure and Google with Google Cloud Platform entered the market, further popularizing cloud computing.

Today, Cloud computing has become ubiquitous, powering a wide range of services and applications, from consumer applications like email and social media to enterprise solutions for data storage, analytics, and artificial intelligence. Its scalability, flexibility, and cost-effectiveness have revolutionized the way businesses and individuals consume and deploy IT resources.


Key features of Cloud Computing

Cloud computing is characterized by several key features that differentiate it from traditional computing models. Here's a brief explanation of these characteristics:

  • Scalability: Cloud computing offers the ability to quickly scale computing resources up or down based on demand. This scalability allows users to easily accommodate fluctuations in workload without the need to invest in additional hardware or infrastructure.
  • On-demand access: Cloud computing provides on-demand access to computing resources over the internet, allowing users to access servers, storage, databases, and other services as needed, typically on a pay-as-you-go basis.
  • Elasticity: Elasticity refers to the ability to automatically adjust resources to meet changing demand. Cloud services can dynamically allocate or deallocate resources in response to fluctuations in workload, ensuring optimal performance and cost efficiency. Scale-up and Scale-back are terminology used to describe this behavior.
  • Resource pooling: Cloud computing pools computing resources (e.g., servers, storage, networking) across multiple users and organizations, allowing them to be dynamically allocated and shared based on demand. This pooling of resources enables economies of scale and efficient utilization of infrastructure. Multi-tenancy may be a feature of many use cases for cloud computing. Consolidation is a term frequently used around resource pooling.
  • Self-service provisioning: Cloud computing platforms offer self-service capabilities, allowing users to provision, manage, and configure computing resources independently through web interfaces or APIs, without the need for human intervention from the service provider.
  • Broad network access: Cloud services are accessible over the internet from a variety of devices and platforms, enabling users to access applications and data from anywhere with an internet connection, using standard protocols and interfaces. Phrases such as “Work anywhere, anytime, from any device” are often used when marketing cloud-based services.
  • Measured service: In theory, Cloud computing providers offer services that are metered and billed based on usage, allowing users to pay only for the resources they consume. This pay-as-you-go model provides transparency and cost control, as users can monitor and manage their usage in real-time. In practice, it doesn’t always go this smoothly.

Types of Cloud Computing

Here is an overview of the main types of cloud computing:

  • Public Cloud: Public cloud services are provided by third-party cloud service providers over the internet. These services are available to anyone who wants to use or purchase them. Well-known examples of public cloud providers include Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Public cloud services are often favored for their scalability, cost-effectiveness, and ease of access.
  • Private Cloud: Private cloud services are dedicated to a single organization and are not shared with other users. They can be hosted internally within the organization's own data centers (on-premises) or by a third-party provider. Third-party providers are often described as MSPs (Managed Service Providers) or CSPs (Cloud Service Providers). Private clouds offer greater control over security, compliance, and customization compared to public clouds. They are often preferred by organizations with strict regulatory requirements or sensitive data.
  • Hybrid Cloud: Hybrid cloud environments combine elements of both public and private infrastructures. This model allows organizations to leverage the benefits of both types of cloud while maintaining control over certain aspects of their infrastructure. For example, an organization might use a public cloud for non-sensitive workloads and a private cloud for mission-critical applications or data. Hybrid clouds offer flexibility, scalability, and the ability to optimize costs.
  • Community Cloud: Community cloud services are shared by several organizations with similar interests or requirements, such as regulatory compliance or industry-specific standards. These organizations collaborate to develop and maintain the community cloud infrastructure, which can be hosted internally or externally. Community clouds offer the benefits of shared resources and costs while addressing the specific needs of a particular community or group of organizations. Microsoft’s Government Community Cloud (GCC) solutions are probably one of the best-known examples of a community cloud.

Many organizations adopt a hybrid or multi-cloud approach to take advantage of the strengths of different cloud models and to protect themselves from vendor lock-in and pricing changes. “Supercloud“ is a term increasingly used around these heterogenous, chimera type approaches.

Increasingly public cloud providers are also providing on-premises offerings which is further complicating the landscape, see: Hybrid Cloud Strategies – AWS Launches Dedicated Local Zones with Singapore Government as First Customer | eG Innovations for an example.


Common Cloud Computing providers

Well-known Cloud computing providers, include:


Cloud Computing service models

Cloud computing services are offered in various models related to how much the cloud provider supports and controls, the main categories of service model include:

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)
  • Function as a Service (FaaS)

FaaS is a subset of Serverless Computing, we cover “What is FaaS?” in a sub-section of this article - Serverless Computing - IT Glossary | eG Innovations.

Most organizations face a choice of consuming Cloud computing Services via IaaS, PaaS or SaaS, we have an article explaining these models and their various benefits and disadvantages, see: SaaS vs PaaS vs IaaS: Examples, differences, & how to choose (eginnovations.com).


Key concepts of Cloud Computing

Key concepts in Cloud computing include:

  • Virtualization: Virtualization enables the creation of virtual instances of computing resources, such as servers, storage, and networks, allowing multiple virtual machines (VMs) or virtualized environments to run on a single physical hardware system. This abstraction layer (the “Hypervisor”) decouples hardware from software, enabling greater flexibility, resource utilization, and scalability in cloud environments. Understanding hypervisors is essential to understanding virtualization – see: What is a Hypervisor? - IT Glossary | eG Enterprise (eginnovations.com).
  • Elasticity: Elasticity refers to the ability of Cloud computing systems to dynamically adjust resources (such as computing power, storage, and network bandwidth) in response to changes in workload demand. Cloud services can automatically scale resources up or down based on demand, ensuring optimal performance, cost efficiency, and responsiveness to fluctuating usage patterns.
  • Multi-tenancy: Multi-tenancy is a software architecture where a single instance of an application or service serves multiple users or "tenants" simultaneously, while keeping their data and configurations isolated and secure. In cloud computing, multi-tenancy enables efficient resource sharing and cost savings by allowing multiple users to access and utilize shared infrastructure and services. Learn more: What is multi-tenancy? Multi-tenancy for MSPs Explained. | eG Innovations.
  • API (Application Programming Interface): APIs are sets of rules and protocols that allow different software applications to communicate and interact with each other. In cloud computing, APIs play a crucial role in enabling automation, integration, and orchestration of cloud services and resources. Cloud providers offer APIs that allow developers to programmatically manage and control various aspects of cloud infrastructure, such as provisioning virtual machines, storage, and networking. APIs are essential for automation and for enabling IaC (Infrastructure as Code) workflows such as, APIs for IT Monitoring Solutions | eG Innovations). API Monitoring is important in cloud computing, see: What is API Monitoring? - IT Glossary | eG Innovations.
  • Containers: Containers are lightweight, portable, and self-contained runtime environments that encapsulate an application and its dependencies, enabling consistent deployment and execution across different computing environments. Containerization technology, such as Docker and Kubernetes, is widely used in Cloud computing for building, packaging, and deploying applications efficiently, enabling faster development cycles, scalability, and resource isolation. See: Containers - IT Glossary | eG Innovations to learn more.

Benefits of Cloud Computing

For most organizations there will be some benefits to adopting Cloud computing to some extent. The advantages of Cloud computing commonly cited include:

  • Scalability: Cloud computing offers the ability to scale resources up or down quickly and easily based on demand, allowing businesses to adjust their computing needs dynamically without the need for significant upfront investment in infrastructure.
  • Cost Efficiency: Cloud computing eliminates the need for organizations to invest in and maintain their own physical hardware, reducing capital expenditures (CapEx). Additionally, pay-as-you-go pricing models allow businesses to pay only for the resources they use, optimizing operational expenses (OpEx).
  • Solves Skills Shortages: Cloud computing can solve skills gaps within organizations, particularly those that may not have large IT departments or specific expertise in all of the critical areas of on-prem IT, such as storage, networking and databases.
  • Flexibility and Accessibility: Cloud computing enables employees to access applications, data, and services from anywhere with an internet connection, using a variety of devices, enhancing productivity and collaboration. Office / Microsoft 365 services and applications are now ubiquitous in most sectors globally.
  • Reliability and Redundancy: Cloud providers typically offer high levels of reliability and redundancy, with built-in high-availability, backup and disaster recovery (DR) capabilities, ensuring continuous access to data and services even in the event of hardware failures or outages.
  • Security: Cloud providers invest heavily in security measures, including encryption, access controls, and compliance certifications, to protect data and infrastructure from unauthorized access, breaches, and cyber threats.
  • Innovation and Time-to-Market: Cloud computing accelerates innovation and time-to-market by providing access to a wide range of advanced technologies and services, such as artificial intelligence, machine learning, big data analytics, and IoT, without the need for significant upfront investment in infrastructure or expertise.
  • Global Reach: Cloud computing allows businesses to deploy applications and services globally with minimal latency, leveraging a network of data centers located strategically around the world, enabling seamless expansion into new markets and regions. Netflix’s growth to global giant leveraging AWS is often cited as an example of the benefits of building services upon a cloud platform, see: Netflix's Unparalleled Growth Story | Abhay | Medium.
  • Sustainability: Cloud computing can contribute to sustainability efforts by optimizing resource utilization, reducing energy consumption, and minimizing carbon footprint compared to traditional on-premises data centers. Most major cloud providers have clear Carbon net zero policies (see AWS for an example: The Cloud - Amazon Sustainability (aboutamazon.com)) which organizations can use to meet their own environmental and sustainability targets.

Challenges and considerations for Cloud Computing

Cloud computing is not without its disadvantages. Common challenges with and considerations for Cloud computing that organizations must address to ensure successful adoption and operation, often include:

  • Cost Management: Tracking and controlling cloud costs can be challenging due to the dynamic nature of cloud services, varying pricing models, and unexpected usage spikes. Whilst cost savings are often proclaimed as a benefit of Cloud computing, in practice many organizations find that using Cloud computing becomes very expensive leading some to revert to on-premises models. Understanding and interpreting the complex and varying billing structures of cloud providers can be daunting, often leading to unexpected charges.
  • Security Concerns: Cloud computing raises concerns about data security and privacy due to the shared nature of infrastructure and potential vulnerabilities in cloud environments. Addressing security requires robust authentication, encryption, access control measures, and compliance with industry standards and regulations.
  • Compliance Issues: Organizations must navigate complex regulatory landscapes and ensure that their cloud deployments comply with relevant laws and regulations, such as GDPR, HIPAA, or PCI DSS. Compliance requires careful data management, auditing, and monitoring to maintain data integrity and privacy.
  • Vendor Lock-In: Dependency on a single cloud provider can lead to vendor lock-in, limiting flexibility and making it challenging to migrate to alternative solutions. To mitigate this risk, organizations should adopt interoperable standards, implement multi-cloud or hybrid cloud strategies, and design applications for portability.
  • Performance Issues: Cloud performance can be affected by factors such as network latency, resource contention, and geographic distance between users and data centers. Optimizing performance involves selecting appropriate cloud service models, configuring resources effectively, and leveraging content delivery networks (CDNs) to reduce latency. We have made a free whitepaper available, covering key information to track performance in cloud, see: White Paper | Top 10 Requirements for Performance Monitoring of Cloud Applications and Infrastructures (eginnovations.com).
  • Cloud Outages: Despite high availability guarantees from cloud providers, outages can occur due to hardware failures, network issues, or human error, leading to service disruptions and data loss. Mitigating the impact of outages requires implementing redundancy, disaster recovery plans, and monitoring systems to detect and respond to incidents promptly. We have a comprehensive article to help you effectively mitigate against cloud outages, see: How to Protect your IT Ops from Cloud Outages (eginnovations.com).
  • Lack of full-stack observability: Whilst the cloud provider being responsible for certain layers of the infrastructure sounds a good thing, in practice it can mean a lack of insights into the root cause of failures. We have a step-by-step real user case study of the challenges troubleshooting cloud provider failures and the challenges in proving to the cloud provider that it was indeed their layer at fault. See: AWS Cloud Case Study: Troubleshooting Application Performance (eginnovations.com).

Addressing these challenges requires a comprehensive approach that combines technical solutions, organizational policies, and proactive risk management strategies to maximize the benefits of Cloud computing while minimizing potential drawbacks.


What do I need to know about Cloud Monitoring?

See: What is Cloud Monitoring? - IT Glossary | eG Innovations.


Future trends in Cloud Computing Technologies

Emerging technologies in Cloud computing include:

  • Edge computing - the practice of processing data closer to the source of generation, typically at or near the "edge" of the network, rather than relying solely on centralized data centers. This approach reduces latency and bandwidth usage by performing computation and data storage closer to where it's needed, such as IoT devices, sensors, or mobile devices.
  • Quantum computing in the cloud.
  • Serverless computing - a Cloud computing model where cloud providers dynamically manage the allocation and provisioning of servers to run application code. See: Serverless Computing - IT Glossary | eG Innovations.

You may also like to explore our free eBook: Cloud Technology Adoption Trends | eG Innovations.